Problem Interbase

Otázka od: Matejcek Petr

8. 1. 2004 16:46

zdravim

     mam dva DBGridy jeden hlavni a druhy zobrazuje podrobnosti ke
kazdemu radku v prvnim DBGridu.
     casto (ne pravidelne) se mi stava ze ve druhem DBGridu se zobrazi
pouze prazdne radky bez textu (ale pocet radku je spravny )

kdyz odchytnu OnDrawDataCell a chci si to vypsat rucne :

   DBGridSlozeni.Canvas.Brush.Color:= clWindow;
   DBGridSlozeni.Canvas.FillRect(Rect);
   DBGridSlozeni.Canvas.Font.Color:=clBlack;
   DBGridSlozeni.Canvas.TextOut(Rect.Left+2,Rect.Top+2,Field.AsString);

     tak to hodi vyjimku na to ze Field = nil



pouzivam interbasi 6.0.1 nainstalovanou na win XP Pro a na temze PC mam
spusten program v delphi

prosim vi nekdo co s tim ?

diky PM


Odpovedá: Slavomir Skopalik

8. 1. 2004 17:36

Rada na slepo, zkus pouzit FireBird 1.0.3
S Interbase 6.0.1 by mel byt plne kompatibilni, ale je stabilnejsi.
Problem by mohl byt i v IBX (zkus to pres BDE) nebo v gds32.dll.
Zajisti si, aby na pocitaci byla jen jedna verze gds32.dll, pripadne
pouzij pripojeni pres localhost.

Firebird najdes na:
http://firebird.sourceforge.net/

 Slavek


> zdravim
>
> mam dva DBGridy jeden hlavni a druhy zobrazuje podrobnosti ke
> kazdemu radku v prvnim DBGridu.
> casto (ne pravidelne) se mi stava ze ve druhem DBGridu se zobrazi
> pouze prazdne radky bez textu (ale pocet radku je spravny )
>
> kdyz odchytnu OnDrawDataCell a chci si to vypsat rucne :
>
> DBGridSlozeni.Canvas.Brush.Color:= clWindow;
> DBGridSlozeni.Canvas.FillRect(Rect);
> DBGridSlozeni.Canvas.Font.Color:=clBlack;
> DBGridSlozeni.Canvas.TextOut(Rect.Left+2,Rect.Top+2,Field.AsString);
>
> tak to hodi vyjimku na to ze Field = nil
>
>
>
> pouzivam interbasi 6.0.1 nainstalovanou na win XP Pro a na temze PC mam
> spusten program v delphi
>
> prosim vi nekdo co s tim ?
>
> diky PM
>
>
>
>

Odpovedá: petr palicka

8. 1. 2004 18:52

a jsi si jisty, ze mas otevreny dataset?
ze otevreny dataset ma vice nez 0 zaznamu?

peca


Odpovedá: Matejcek Petr

8. 1. 2004 22:47

kdyz to po vyberu radku v hlavnim DBGridu zobrazi treba 3 prazdne radky
v navazujicim DBGridu tak asi problem nebude v datasetu ktery by mel 0
zaznamu ne?

pokud program (exe) ukoncim a znovu spustim tak to je uz OK proste jeden
program nekdy funguje a nekdy ne



petr palicka napsal(a):
> a jsi si jisty, ze mas otevreny dataset?
> ze otevreny dataset ma vice nez 0 zaznamu?
>
> peca
>
>
>
>
>


Odpovedá: petr palicka

9. 1. 2004 9:56



Matejcek Petr wrote:
> kdyz to po vyberu radku v hlavnim DBGridu zobrazi treba 3 prazdne radky
> v navazujicim DBGridu tak asi problem nebude v datasetu ktery by mel 0
> zaznamu ne?

pracuji s IBX a pokud jsem neco potreboval delat pres grid, tak
pole (TField) bylo nil (neexistovalo) tehdy, kdyz byl TIBDataSet
zavreny.
Uvedom si, ze vykreslovani DBGridu muze nastat drive, nez si ty
IBDataSet (nebo co pouzivas) otevres. pokud k poli pristupujes
pres TDBGrid, doporucuji vzdy testovat, jestli dane pole existuje
(Assigned(pole) nebo pole<>nil).

peca